home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 January / Macworld (1998-01).dmg / Updaters / PageMaker / PS Printing Files Update / P65sep.ps < prev    next >
Text File  |  1997-09-26  |  13KB  |  172 lines

  1. %%BeginResource: procset P65SEP_PS 1.0 1
  2. %%Copyright: Copyright (C) 1996 Adobe Systems, Inc.  All Rights Reserved.
  3. %%Version: 1.0 1
  4. %%Updated: 25 Sep 1997 to include improvements in grayscale EPS separatons.
  5. /setpacking where{pop currentpacking true setpacking}if userdict/P65SEP 125
  6. dict dup begin put/_P65SEPcolordict null def/_P65SEPsepredefs null def
  7. /_P65SEPsep? false def/_P65SEPsepink null def/_P65SEPop false def
  8. /_P65SEPisReg? false def/_P65SEPsepMX matrix def/_P65SEPisDCS? false def
  9. /_P65SEPtint 1 def/_P65SEPix 0 def/_P65SEPproc1{}def/_P65SEPproc2{}def
  10. /_P65SEPnewproc{}def/_P65SEPpattern null def/_P65SEPcurrentcolorspace
  11. /DeviceGray def/bdef{bind def}bind def/ldef{load def}bdef/ndef{1 index where{
  12. pop pop pop}{dup xcheck{bind}if def}ifelse}bdef/ddef{P65SEP 3 1 roll put}bdef
  13. /xddef{exch P65SEP 3 1 roll put}bdef/MakeReadOnlyArray{/packedarray where{pop
  14. packedarray}{array astore readonly}ifelse}bdef/Level2/languagelevel where{pop
  15. languagelevel 1 ne}{false}ifelse def/AddProcs{/packedarray where{pop dup type
  16. /packedarraytype eq 2 index type/packedarraytype eq or}{false}ifelse{
  17. /_P65SEPproc2 exch cvlit ddef/_P65SEPproc1 exch cvlit ddef _P65SEPproc1 aload
  18. pop _P65SEPproc2 aload pop _P65SEPproc1 length _P65SEPproc2 length add
  19. packedarray cvx}{/_P65SEPproc2 exch cvlit ddef/_P65SEPproc1 exch cvlit ddef
  20. /_P65SEPnewproc proc1 length proc2 length add array ddef _P65SEPnewproc 0
  21. _P65SEPproc1 putinterval _P65SEPnewproc _P65SEPproc1 length _P65SEPproc2
  22. putinterval _P65SEPnewproc cvx}ifelse}bdef/ColorSpaceError{(Job uses a Level\
  23.  2 color space that cannot be separated on this printer)== clear stop}bdef
  24. /&image/image ldef/colorimage{&image}ndef/&colorimage/colorimage ldef
  25. /&imagemask/imagemask ldef/&setgray/setgray ldef/&setcolor Level2{/setcolor
  26. ldef}{/ColorSpaceError ldef}ifelse/&setcolorspace Level2{/setcolorspace ldef}{
  27. /ColorSpaceError ldef}ifelse/&setcmyk systemdict/setcmykcolor known{systemdict
  28. /setcmykcolor get}{{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1
  29. roll}repeat systemdict/setrgbcolor get exec pop}}ifelse def/c2`65{
  30. /_P65SEPcolordict exch dict ddef}bdef/d2`65{exch cvn exch _P65SEPcolordict 3 1
  31. roll put}bdef/e2`65{dup/_P65SEPsepredefs exch ddef dup/bw ne{/_P65SEPsep? true
  32. ddef}{/_P65SEPsep? false ddef}ifelse P65SEP exch get exec cvn/_P65SEPsepink
  33. xddef}bdef/Inverted?{0 currenttransfer exec .5 ge}def/setcmykcolor{pop pop pop
  34. pop/_P65SEPisReg? false ddef}def/setcmybcolor{setcmykcolor}def
  35. /setcmykcoloroverprint{pop pop pop pop}bdef/findcmykcustomcolor{5
  36. MakeReadOnlyArray}bdef/findcmykprocesscolor{5 MakeReadOnlyArray}bdef
  37. /findhificolor{exch dup dup 4 2 roll 2 mul 7 add 2 roll mark exch 2 mul 7 add
  38. 1 roll{1 index type/stringtype ne{exit}if 2 MakeReadOnlyArray counttomark 1
  39. add 1 roll counttomark 3 add mark exch 1 roll counttomark 1 add -1 roll pop}
  40. loop counttomark 1 add 4 roll counttomark 1 add -1 roll pop exch 5 add
  41. MakeReadOnlyArray}bdef/setcolorspace{_P65SEPisDCS?{&setcolorspace}{dup dup dup
  42. type/arraytype eq exch/packedarraytype eq or{0 get}if/DeviceGray eq{pop}{
  43. &setcolorspace}ifelse}ifelse/_P65SEPcurrentcolorspace currentcolorspace ddef}
  44. bdef/ColorSpaceError{(Job uses a Level 2 color space that cannot be separate\
  45. d on this printer)== clear stop}bdef/MapL2Colorspace{dup 0 get/DeviceCMYK eq{5
  46. 1 roll setcmykcolor}{dup 0 get/DeviceGray eq{exch 1 exch sub 0 0 0 4 -1 roll
  47. setcmykcolor}{dup 0 get/DeviceRGB eq{4 1 roll setrgbcolor}{dup 0 get
  48. /Separation eq{dup 1 get dup/Cyan eq{3 -1 roll 0 0 0 setcmykcolor pop}{dup
  49. /Magenta eq{0 4 -1 roll 0 0 setcmykcolor pop}{dup/Yellow eq{0 0 5 -1 roll 0
  50. setcmykcolor pop}{dup/Black eq{0 0 0 6 -1 roll setcmykcolor pop}{dup/All eq{3
  51. -1 roll 1 exch sub setseparationgray pop}{1 index 2 get/DeviceCMYK eq{2 index
  52. 2 index 3 get exec 5 -1 roll dup length string cvs}{0 0 0 6 index 5 -1 roll
  53. dup length string cvs}ifelse findcmykcustomcolor 3 2 roll setcustomcolor}
  54. ifelse}ifelse}ifelse}ifelse}ifelse}{ColorSpaceError}ifelse}ifelse}ifelse}
  55. ifelse pop}def/setcolor{_P65SEPcurrentcolorspace dup 0 get/Pattern eq{1 index
  56. /PaintType get 2 eq{exch/_P65SEPpattern xddef 1 get 1 array dup 0 4 -1 roll
  57. put MapL2Colorspace currentgray[/Pattern/DeviceGray]&setcolorspace
  58. _P65SEPpattern}{pop}ifelse &setcolor}{dup 0 get/Indexed eq{dup 1 get
  59. &setcolorspace dup 3 get type/stringtype eq{3 get exch currentcolorspace 0 get
  60. /DeviceGray eq{get}{currentcolorspace 0 get/DeviceRGB eq{3 mul 3 getinterval{}
  61. forall}{currentcolorspace 0 get/DeviceCMYK eq{4 mul 4 getinterval{}forall}{
  62. ColorSpaceError}ifelse}ifelse}ifelse}{3 get exec}ifelse currentcolorspace}if
  63. MapL2Colorspace}ifelse}bdef/setpattern{currentcolorspace 0 get/Pattern ne{[
  64. /Pattern _P65SEPcurrentcolorspace]&setcolorspace/_P65SEPcurrentcolorspace
  65. currentcolorspace ddef}if setcolor}def/setgray{_P65SEPisDCS?{&setgray}{1 exch
  66. sub 0 0 0 4 -1 roll setcmykcolor}ifelse/_P65SEPisReg? false ddef}bdef
  67. /ToProcess?{_P65SEPsep?{_P65SEPcolordict exch known not}{pop false}ifelse}bdef
  68. /OnMask?{_P65SEPsep?{cvn _P65SEPsepink eq}{pop true}ifelse}bdef/setcustomcolor
  69. {/_P65SEPtint xddef _P65SEPtint exch aload pop dup ToProcess?{pop 4{4 index
  70. mul 4 1 roll}repeat setcmykcolor pop}{5 1 roll 4{pop}repeat OnMask?{1 exch sub
  71. &setgray}{pop 1 &setgray}ifelse}ifelse/_P65SEPisReg? false ddef}bdef
  72. /setprocesscolor{/_P65SEPtint xddef _P65SEPtint exch aload pop _P65SEPsep?{pop
  73. 4{4 index mul 4 1 roll}repeat setcmykcolor pop}{5{pop}repeat 1 exch sub
  74. &setgray}ifelse/_P65SEPisReg? false ddef}bdef/sethificolor{/_P65SEPtint xddef
  75. _P65SEPsep?{aload pop pop{dup type dup/arraytype eq exch/packedarraytype eq or
  76. {aload pop exch OnMask?{_P65SEPtint mul 1 exch sub &setgray{dup type dup
  77. /arraytype ne exch/packedarraytype ne and{exit}{pop}ifelse}loop}{pop 1
  78. &setgray}ifelse}{exit}ifelse}loop 4{pop}repeat}{pop _P65SEPtint 1 exch sub
  79. &setgray}ifelse/_P65SEPisReg? false ddef}bdef/setseparationgray{&setgray
  80. /_P65SEPisReg? true ddef}bdef/setoverprint{/_P65SEPop xddef}bdef
  81. /currentoverprint{P65SEP/_P65SEPop get}bdef/Paint?{P65SEP begin
  82. currentoverprint not currentgray 1 ne or _P65SEPisReg? or end}bdef/_P65SEPucrk
  83. .5 def/_P65SEPucrm .31 def/_P65SEPucry .48 def/_P65SEPboostk 1.25 def/cvt1{1
  84. exch sub 3 1 roll}bdef/cvt2{0 2 copy lt{exch}if pop 3 1 roll}bdef/setrgbcolor{
  85. cvt1 cvt1 cvt1 3 copy 2 copy gt{exch}if pop 2 copy gt{exch}if pop _P65SEPucrk
  86. sub 0 2 copy lt{exch}if pop 4 1 roll 3{3 index sub 3 1 roll}repeat 1 index
  87. _P65SEPucry mul sub cvt2 1 index _P65SEPucrm mul sub cvt2 3 1 roll 4 -1 roll
  88. _P65SEPboostk mul setcmykcolor/_P65SEPisReg? false ddef}bdef/sethsbcolor{
  89. sethsbcolor currentrgbcolor setrgbcolor/_P65SEPisReg? false ddef}bdef/&stroke
  90. /stroke ldef/&fill/fill ldef/&eofill/eofill ldef/&show/show ldef/&ashow/ashow
  91. ldef/&widthshow/widthshow ldef/&awidthshow/awidthshow ldef/&kshow/kshow ldef
  92. Level2{/&ustroke/ustroke ldef}if Level2{/&ufill/ufill ldef}if Level2{/&ueofill
  93. /ueofill ldef}if Level2{/&rectstroke/rectstroke ldef}if Level2{/&rectfill
  94. /rectfill ldef}if Level2{/ustroke{Paint?{&ustroke}{gsave nulldevice &ustroke
  95. grestore}ifelse}bdef}if Level2{/ufill{Paint?{&ufill}{pop}ifelse}bdef}if Level2
  96. {/ueofill{Paint?{&ueofill}{pop}ifelse}bdef}if Level2{/rectstroke{Paint?{
  97. &rectstroke}{gsave nulldevice &rectstroke grestore}ifelse}bdef}if Level2{
  98. /rectfill{Paint?{&rectfill}{gsave nulldevice &rectfill grestore}ifelse}bdef}if
  99. /stroke{Paint?{&stroke}{newpath}ifelse}bdef/fill{Paint?{&fill}{newpath}ifelse}
  100. bdef/eofill{Paint?{&eofill}{newpath}ifelse}bdef/show{Paint?{&show}{gsave
  101. _P65SEPsepMX currentmatrix nulldevice setmatrix &show currentpoint grestore
  102. moveto}ifelse}bdef/ashow{Paint?{&ashow}{gsave _P65SEPsepMX currentmatrix
  103. nulldevice setmatrix &ashow currentpoint grestore moveto}ifelse}bdef/widthshow
  104. {Paint?{&widthshow}{gsave _P65SEPsepMX currentmatrix nulldevice setmatrix
  105. &widthshow currentpoint grestore moveto}ifelse}bdef/awidthshow{Paint?{
  106. &awidthshow}{gsave _P65SEPsepMX currentmatrix nulldevice setmatrix &awidthshow
  107. currentpoint grestore moveto}ifelse}bdef/kshow{Paint?{&kshow}{gsave
  108. _P65SEPsepMX currentmatrix nulldevice setmatrix &kshow currentpoint grestore
  109. moveto}ifelse}bdef/separationimage{&image}bdef/Invbuf{0 1 2 index length 1 sub
  110. {dup 2 index exch get 255 exch sub 2 index 3 1 roll put}for}bdef/Clrimage{
  111. Paint?{currentgray 1 ne{&colorimage}{Inverted?{{pop 0}}{{pop 1}}ifelse
  112. systemdict begin settransfer end &colorimage}ifelse}{gsave nulldevice
  113. &colorimage grestore}ifelse}bdef/imagemask{_P65SEPisDCS?{&imagemask}{Paint?{
  114. &imagemask}{gsave nulldevice &imagemask grestore}ifelse}ifelse}bdef/image{
  115. _P65SEPisDCS?{&image}{Paint?{currentgray 1 ne{dup type/dicttype eq{begin Width
  116. Height BitsPerComponent ImageMatrix Decode length 2 eq{/DataSource load &image
  117. }if Decode length 6 eq{currentdict/MultipleDataSources known{
  118. MultipleDataSources{DataSource 0 get DataSource 1 get DataSource 2 get true}{
  119. /DataSource load false}ifelse}{/DataSource load false}ifelse 3 colorimage}if
  120. Decode length 8 eq{currentdict/MultipleDataSources known{MultipleDataSources{
  121. DataSource 0 get DataSource 1 get DataSource 2 get DataSource 3 get true}{
  122. /DataSource load false}ifelse}{/DataSource load false}ifelse 4 colorimage}if
  123. end}{&image}ifelse}{Inverted?{{pop 0}}{{pop 1}}ifelse systemdict begin
  124. settransfer end &image}ifelse}{gsave nulldevice &image grestore}ifelse}ifelse}
  125. def/Alpsimage{Paint?{currentgray 1 ne{&image}{Inverted?{{pop 0}}{{pop 1}}
  126. ifelse systemdict begin settransfer end &image}ifelse}{gsave nulldevice &image
  127. grestore}ifelse}bdef/Ccicurrenttransfer{currenttransfer}def/Ccisettransfer{
  128. settransfer}def/customcolorimage{aload pop dup ToProcess?{pop setcmykcolor
  129. /_P65SEPtint 1 currentgray sub ddef}{5 1 roll 4{pop}repeat OnMask? not{
  130. /_P65SEPtint 0 ddef}if}ifelse{_P65SEPtint mul 1 _P65SEPtint sub add}
  131. Ccicurrenttransfer AddProcs Ccisettransfer 1 _P65SEPtint sub &setgray
  132. Alpsimage}bdef/Applytinttocolorarray{/_P65SEPtint xddef aload length/len xddef
  133. /_P65SEPix len ddef 4{_P65SEPix -1 roll _P65SEPtint mul _P65SEPix 1 roll
  134. /_P65SEPix _P65SEPix 1 sub ddef}repeat len MakeReadOnlyArray}bdef
  135. /tintedcolorimage{dup/_P65SEPtint xddef Applytinttocolorarray customcolorimage
  136. }bdef/tintedseparationimage{/_P65SEPtint xddef{_P65SEPtint mul 1 _P65SEPtint
  137. sub add}Ccicurrenttransfer AddProcs Ccisettransfer separationimage}bdef
  138. /hificolorimage{aload pop pop{dup type dup/arraytype eq exch/packedarraytype
  139. eq or{aload pop exch OnMask?{_P65SEPsep?{/_P65SEPtint xddef}{pop}ifelse{
  140. _P65SEPtint mul 1 _P65SEPtint sub add}Ccicurrenttransfer AddProcs
  141. Ccisettransfer 1 _P65SEPtint sub &setgray{dup type dup/arraytype ne exch
  142. /packedarraytype ne and{exit}{pop}ifelse}loop}{pop 1 &setgray
  143. Ccicurrenttransfer Ccisettransfer}ifelse}{exit}ifelse}loop 4{pop}repeat
  144. Alpsimage}bdef/e2a`65{/_P65SEPisDCS? true ddef}bdef/e2b`65{/_P65SEPisDCS?
  145. false ddef}bdef/spot{/setcmykcolor{pop pop pop pop 1 &setgray/_P65SEPisReg?
  146. false ddef}ddef/colorimage{dup 4 ne 2 index not or{gsave 1 &setgray Clrimage
  147. grestore}{gsave 1 &setgray pop pop[5 -1 roll/exec cvx 6 -1 roll/exec cvx 7 -1
  148. roll/exec cvx 8 -1 roll/exec cvx/exch cvx/pop cvx/exch cvx/pop cvx/exch cvx
  149. /pop cvx/Invbuf cvx]cvx Alpsimage grestore}ifelse}ddef}bdef/c{/setcmykcolor{
  150. pop pop pop 1 exch sub &setgray/_P65SEPisReg? false ddef}ddef/colorimage{dup 4
  151. ne 2 index not or{gsave 1 &setgray Clrimage grestore}{gsave 0 &setgray pop pop
  152. [5 -1 roll/exec cvx 6 -1 roll/exec cvx 7 -1 roll/exec cvx 8 -1 roll/exec cvx
  153. /pop cvx/pop cvx/pop cvx/Invbuf cvx]cvx Alpsimage grestore}ifelse}ddef}bdef/m{
  154. /setcmykcolor{pop pop exch pop 1 exch sub &setgray/_P65SEPisReg? false ddef}
  155. ddef/colorimage{dup 4 ne 2 index not or{gsave 1 &setgray Clrimage grestore}{
  156. gsave 0 &setgray pop pop[5 -1 roll/exec cvx 6 -1 roll/exec cvx 7 -1 roll/exec
  157. cvx 8 -1 roll/exec cvx/pop cvx/pop cvx/exch cvx/pop cvx/Invbuf cvx]cvx
  158. Alpsimage grestore}ifelse}ddef}bdef/y{/setcmykcolor{pop 3 1 roll pop pop 1
  159. exch sub &setgray/_P65SEPisReg? false ddef}ddef/colorimage{dup 4 ne 2 index
  160. not or{gsave 1 &setgray Clrimage grestore}{gsave 0 &setgray pop pop[5 -1 roll
  161. /exec cvx 6 -1 roll/exec cvx 7 -1 roll/exec cvx 8 -1 roll/exec cvx/pop cvx
  162. /exch cvx/pop cvx/exch cvx/pop cvx/Invbuf cvx]cvx Alpsimage grestore}ifelse}
  163. ddef}bdef/k{/setcmykcolor{4 1 roll pop pop pop 1 exch sub &setgray
  164. /_P65SEPisReg? false ddef}ddef/colorimage{dup 4 ne 2 index not or{gsave 0
  165. &setgray Clrimage grestore}{gsave 0 &setgray pop pop[5 -1 roll/exec cvx 6 -1
  166. roll/exec cvx 7 -1 roll/exec cvx 8 -1 roll/exec cvx/exch cvx/pop cvx/exch cvx
  167. /pop cvx/exch cvx/pop cvx/Invbuf cvx]cvx Alpsimage grestore}ifelse}ddef}bdef
  168. /bw{/setcmykcolor{gsave &setcmyk currentgray grestore &setgray/_P65SEPisReg?
  169. false ddef}ddef/setgray{&setgray}ddef}bdef end/setpacking where{pop setpacking
  170. }if
  171. %%EndResource
  172.